Revision 333:
- updated a few more things changed in U240.3

Revision 332:
- reverted r324

Revision 331:
- more or less updated to U240.3

Revision 330:
- more or less updated to U240.3

Revision 329:
- fixed a crash related to flamethrower underbarrel introduced in U236

Revision 328:
- removed code incompatible with U234

Revision 327:
- probably updated to U235

Revision 326:
- fixed a coroutine crash from r325

Revision 325:
- probably updated to U234

Revision 324:
- added workaround for ghost reload

Revision 323:
- fixed a crash occuring when a character's tweak data profile is modified live (missed change from U230)

Revision 322:
- fixed armor bonus of copycat that wasn't accounted

Revision 321:
- updated to U231

Revision 320:
- updated to U230

Revision 319:
- reverted ECM pocket fix from r221, might be fixed in U229

Revision 318:
- boring details

Revision 317:
- updated to U225

Revision 316:
- fixed base game crash when changing status of destroyed laser

Revision 315:
- added spanish translation by Kilowide

Revision 314:
- rollbacked 1 change from r312

Revision 313:
- updated to U223, part 2

Revision 312:
- updated to U223

Revision 311:
- removed 3 optimizations introduced in r302 that have been added in U221

Revision 310:
- some bot code optimization is enabled only if task throughput is high enough to permit it (or they end up being slow as cops)

Revision 309:
- updated to U219

Revision 308:
- updated for Celer r46 compatibility

Revision 307:
- updated to U218

Revision 306:
- [option "hostage situation"] fixed processing applied to friendly sentries, leading to various issues
- changed options menu to display host gameplay settings (only works after level is loaded, so not in lobby)
- removed r305's fix for crosshair position (fixed in U217.1)

Revision 305:
- changed U217 crosshair code to be event driven
- fixed crosshair position after changing its size

Revision 304:
- some code cleanups

Revision 303:
- removed code unused since r38 (that's from 2016...)

Revision 302:
- disabled more useless code
- fixed a compatibility issue with HSAS

Revision 301:
- [option "hostage situation"] introduced new option, see https://youtu.be/CidyyHlSTnQ

Revision 300:
- fixed cops staying registered as interactable units once dead
- normalized portal speed
- disabled more useless code

Revision 299:
- optimized some Lua here and there

Revision 298:
- [option "optimized inputs"] improved handling of initialization error
- fixed a crash when restarting heist while inside a vehicle

Revision 297:
- fixed a crash related to vehicles, introduced in r296 (client only)

Revision 296:
- [option "LOD updater"] increased again amount of processed units per frame for setting "custom (quality)"
- optimized some vehicle stuff

Revision 295:
- [option "optimized inputs"] fixed vehicle controls broken by r294

Revision 294:
- [option "optimized inputs"] optimized some more
- added several tiny optimizations

Revision 293:
- [option "high violence mode"] optimized performances

Revision 292:
- [option "high violence mode"] introduced new option, see https://youtu.be/xGp8Y2oSN7s

Revision 291:
- optimized stuff related to weapons verification introduced in U215

Revision 290:
- fixed minor issue with crouch/stand actions
- fixed assaulting undetected criminals
- removed despawn management fixes (fixed in U215)
- updated to U215

Revision 289:
- [option "LOD updater"] increased amount of processed units per frame for setting "custom (quality)"
- [mutator "real elastic"] health of bots is not changed if already managed by Keepers
- fixed game over screwed up in r288

Revision 288:
- [option "improved tactics"] shields don't consider danger as much as other units

Revision 287:
- fixed corpses uselessly eating machine brain

Revision 286:
- fixed a crash related to sentry labels

Revision 285:
- [option "eyes wide open"] introduced new option
- [option "optimized inputs"] reworked controller code
- [option "LOD updater"] fixed inverted option texts
- added a bunch of Lua optimizations
- fixed attention issue during stealth with bots while using Crew Ability: Spotter
- many code cleanups

Revision 284:
- fixed incomplete attention reset on arrest

Revision 283:
- rewrote several old minor optimizations

Revision 282:
- fixed animation of cops retrieving loot bags (base game issue)

Revision 281:
- [mutator "real elastic"] bags stolen by cops lose their contour until a player reactivates it by getting very close
- fixed bags dropped by bots appearing at wrong positions on client side (base game issue)

Revision 280:
- [option "optimized inputs"] fixed a sound issue when no ammo left
- added minor optimizations
- various code cleanups

Revision 279:
- fixed an issue with Stoic health when max health amount changes

Revision 278:
- reverted fix of change r209: was fixed in U208

Revision 277:
- fixed Anarchist's armor not synchronized (base game issue), after a 4 year wait: https://steamcommunity.com/app/218620/discussions/14/2579854400739478371/

Revision 276:
- fixed a client-side issue (introduced in r257) with bags not thrown from correct position when network lag is high

Revision 275:
- fixed stuff disabled in r274

Revision 274:
- disabled some code that is not U211 friendly

Revision 273:
- fixed random() issue again (was still bugged after some time)

Revision 272:
- fixed a crash when kicked by host at the same frame a non-empty trigger area is checked

Revision 271:
- fixed random() issue introduced in r251

Revision 270:
- updated to U208

Revision 269:
- updated code for bots to spare temporarily cops tasered by melee

Revision 268:
- updated to U203

Revision 267:
- added sanity checks in client-side code for area check

Revision 266:
- fixed a crash in VR

Revision 265:
- fixed visibility of primary weapon after going into player clean state

Revision 264:
- optimized is_inside check for aligned boxes

Revision 263:
- increased processing speed of portals

Revision 262:
- added portuguese translation by One Defauter

Revision 261:
- fixed missing "/100" for volume init

Revision 260:
- fixed missing volume initialization

Revision 259:
- fixed r258's missing definitions

Revision 258:
- optimized husk player update()
- patched more access of user settings
- reinstated _update_name_labels()
- various code cleanups

Revision 257:
- fixed temporary issue with interactions right after parachuting
- fixed an issue with Monkeepers (sometimes throw fails and bag falls at bots' feet)
- added some minor optimizations regarding access of user settings

Revision 256:
- fixed cancelled queued task not fully unregistered

Revision 255:
- added a bunch of optimizations

Revision 254:
- one more fix on Z positioning when from_pos is not set

Revision 253:
- fixed Z positioning right after a navlink was used

Revision 252:
- fixed a bug where police squads couldn't pull back

Revision 251:
- reworked again Z positioning of characters
- optimized pseudorandom()

Revision 250:
- [option "improved tactics"] improved performances
- [option "improved tactics"] fixed a cache not reset when navdata is updated
- [mutator "real elastic"] speed up spawns
- removed old unused code that should have been removed since r152
- reworked Z positioning of characters for faster and better result

Revision 249:
- fixed an issue in optimized code handling walking that resulted in inconsistencies on Z axis

Revision 248:
- [option "improved tactics"] major rework, Iter is required from now on
- [mutator "stealthroids"] prevent tied hostages from running as they get totally messed up
- completed _walk_anim_velocities filler

Revision 247:
- [mutator "big party"] spawn less specials
- [option "improved tactics"] added a workaround to reassign groups with unreachable destinations
- [option "improved tactics"] reworked movement code

Revision 246:
- added gameplay changing option "improved tactics"
- added some code cleanups
- fixed 2 base game issues in assault code
- [mutator "big party"] decreased minimum from 150 to 100

Revision 245:
- refined some TeamAI code

Revision 244:
- moved anticrash option into http://pd2mods.z77.fr/anticrash.html

Revision 243:
- forgot to add default value in r242

Revision 242:
- reworked action on anticrash (manually customizable in mods/saves/full_speed_swarm.txt)

Revision 241:
- updated chinese translation
- fixed mobsters potentially ignoring cops

Revision 240:
- added a generic layer of crash prevention for networked data

Revision 239:
- compatibility with Crew Ability Spotter

Revision 238:
- changed how bots' pre_destroy is managed (should fix a crash related to weapon reload)

Revision 237:
- fixed position not correctly updated while driving (base game issue)

Revision 236:
- fixed a crash related to non existing unique loot type

Revision 235:
- fixed compatibility with option "Block Corpses" of Low Violence Mode

Revision 234:
- [option "nervous game"] fixed jokers who were so nervous that they sometimes attacked their owners
- slightly changed how bots manage the transition stealth to loud

Revision 233:
- fixed crashing typo in sentry code of r232

Revision 232:
- optimized sentry vision
- fixed an issue with keybinds when "chat message" was set to "enter"

Revision 231:
- improved keybinds manager

Revision 230:
- optimized AI vision
- updated chinese translation

Revision 229:
- added chinese translation by Arknights (卢比扬卡)
- delayed playerstandard init to ease compatibility
- made sure that an AI task can't be registered twice

Revision 228:
- fixed a base game issue involving wrong detection settings after removing mask (player state "clean")

Revision 227:
- changed corpse management so vanilla clients won't suffer from no-despawn-bug

Revision 226:
- fixed bots' inspire ability broken by r205, part 2

Revision 225:
- fixed bots' inspire ability broken by r205

Revision 224:
- fixed option "improved chase" wrongly locked after having used a mutator

Revision 223:
- added generic workaround for despawn bug
- added mutator "Stealthroids" (requires Iter), see https://youtu.be/chi0GDN5aX0

Revision 222:
- fixed a crash for teamless idling cop

Revision 221:
- fixed base game crash related to pocket ECM and feedback repeat, since https://steamcommunity.com/app/218620/discussions/14/2245552086118378477/ brought nothing yet

Revision 220:
- removed old player inventory fixes for dynamic resources

Revision 219:
- fixed a compatibility issue with BigLobby

Revision 218:
- [option "optimized inputs"] fixed an issue with bows
- reworked handling of max task throughput

Revision 217:
- delayed cloaker hook for compatibility

Revision 216:
- fixed custom weapon colors ignored for other players

Revision 215:
- fixed duplicate ban entries when receiving bogus data as a client

Revision 214:
- rephrased some option descriptions
- [option "custom assault"] refined to let cops rush when they should
- [mutator "real elastic"] decreased AI teammates' health and regeneration
- [mutator "real elastic"] slightly increased assault forces numbers

Revision 213:
- [option "custom assault"] reworked so it doesn't override cops destination

Revision 212:
- fix crash when trying to enable "real elastic" mutator

Revision 211:
- changed update system to Simple Mod Updater

Revision 210:
- [option "optimized inputs"] extended with a short buffer (0.2 sec max) for single fire weapon, see https://youtu.be/VQ0Amoqz4Lg

Revision 209:
- fixed teamai wrongly woken up when a player is tased (stealth only)

Revision 208:
- made sure that r206's sync of jokers hurt animations doesn't apply to team ai

Revision 207:
- changed meaning of special value 0 of max task throughput setting, now it means auto

Revision 206:
- fixed jokers hurt animations not synchronized (base game issue)
- cleaned up/optimized stuff related to *raycastweapon
- reduced vector allocations in copactionwalk
- revamped duplicated bullets blocker

Revision 205:
- updated timergui to U198
- optimized AI vision code even more
- optimized hud waypoints updating

Revision 204:
- fixed a crash when something tries to sprint while in neutral stance

Revision 203:
- fixed detection object filter that wrongfully ignored some objects while in stealth (like opened vault of Big Oil D2)
- added minor lua optimizations

Revision 202:
- kick players using bogus custom weapons using fire
- removed ammobag workaround from r165
- removed sanity check of SniperGrazeDamage from r149

Revision 201:
- prevent a crash when no walk_anim_velocities can be found

Revision 200:
- fixed TeamAI wandering in stealth after someone left the game

Revision 199:
- [mutator "real elastic"] tied maximum stamina to the amount of lives

Revision 198:
- fixed missing parameter of HuskPlayerMovement:sync_start_auto_fire_sound()

Revision 197:
- slightly changed option "nervous game": immediate verification for attention objects within 20 meters 

Revision 196:
- reverted a hook error introduced in r195

Revision 195:
- optimized some achievement tracking crap
- fixed an issue with BLT hooks

Revision 194:
- prevent crash due to charging cloakers having their attention set on bogus target (client only)

Revision 193:
- fixed attention settings when unmasked in a vehicle

Revision 192:
- clean-ups

Revision 191:
- [VR] fixed a crash when exiting a vehicle

Revision 190:
- added gameplay changing option "spawn delay"
- fixed error related to anim walk speed
- updated to U197

Revision 189:
- set a maximum lifetime on cached data related to walking

Revision 188:
- removed the 2 years old fix for auto-fire sync that finally got fixed in vanilla

Revision 187:
- [mutator "real elastic"] decreased TeamAI's defensive power to match lowered cops amount: 1 bot can't stay anymore in the middle of the street indefinitely, but 3 well placed bots can handle it (beware of turrets though)

Revision 186:
- added russian translation by dgesd

Revision 185:
- added italian translation by LycanCHKN
- added a sanity check regarding other players' declared weapons

Revision 184:
- updated game mode modifiers stuff

Revision 183:
- updated to U186

Revision 182:
- fixed some gameplay changing options not loaded by mutator "real elastic"

Revision 181:
- reworked upd_ground_ray() so cops overlapping a bit with a wall would not suddenly be in the air
- added missing catch-up boost depending on LOD (client only)

Revision 180:
- removed r149's fix for Stoic
- added swedish translation by TheBreakingBenny

Revision 179:
- updated to U180

Revision 178:
- reworked CallbackHandler so sorted results are strictly identical (ie never insert after if equal time values), ensuring mission scripts are executed in the right order

Revision 177:
- fixed corpses registered during stealth causing despawn problems (client only)

Revision 176:
- fixed r170's filter that didn't take jokers out
- prevent a crash when changing visibility of a unit

Revision 175:
- restricted the delayed outfit updates to lobby screen only

Revision 174:
- fixed impossibility to drop in (due to outfit updates being wrongly delayed while peer loading)

Revision 173:
- fixed health display glitch in inventory (due to r156's delayed outfit updates)

Revision 172:
- readded server-side block of duplicated bullets generated by clients (only affects turrets-to-bots)
- added "No Duplicated Bullets" as a dependency, a client-side mod only that prevents clients from doing the host's job

Revision 171:
- rollbacked r170

Revision 170:
- host-side, block all retransmitted damage done by bots and turrets
- client-side, don't send to host damage notifications already accounted

Revision 169:
- [option "optimized inputs"] fixed night vision when option is enabled

Revision 168:
- fixed Captain Winters' invulnerability (was caused by minion fleeing too soon)

Revision 167:
- changed how FSS's loud only code gets enabled
- disabled AI attention object updates right from the start for clients
- fixed nervous game option not correctly enforced by "real elastic" mutator

Revision 166:
- updated mutator "big party"

Revision 165:
- added a workaround for smoke/corpses never despawned due to almost empty ammobag wrongly set as empty (client only)
- fixed continuous fire when another player is cloaked (previous fix only cared about being downed by bullets)

Revision 164:
- reinstated magazine check

Revision 163:
- disabled magazine check: not working properly

Revision 162:
- prevent crash due to others still using outdated custom mags mods and retaliate with a gentle kickban
- fixed base game crash related to damaging swat turret when dead (fire, it persists)

Revision 161:
- fixed options saving

Revision 160:
- added a gameplay changing option "cop awareness"

Revision 159:
- added mutator "Real Elastic" (which has Iter as prerequisite)
- added more effects to option "nervous game"

Revision 158:
- fixed a crash when quitting a lobby

Revision 157:
- fixed delay call ID for received outfit updates

Revision 156:
- reduced significantly amount of updates sent when switching profiles in lobby (think of lag when another player browses all his profiles quickly)
- delayed received outfit updates to decrease amount of useless updates
- replaced static list of cop types by a dynamically built one (based on "law" tag)
- changed requires_attention() to rely more on slot ids
- reworked CopMovement:upd_ground_ray() and removed old alternatives
- fixed a crash when crimespree menu lacks some display data
- fixed a rare issue in set_flashlights_on()

Revision 155:
- [option "custom assault"] improved by using more up-to-date assault data (and toggling it on/off takes effect faster)

Revision 154:
- [option "custom assault"] added gameplay changing option, see https://youtu.be/-T2c3NjRtxI

Revision 153:
- added a sanity check on TradeManager:_send_begin_trade()
- removed option "Assault behaviour" as it is not relevant anymore
- removed a workaround related to a SHR crash (superseeded by a proper fix added in Iter)

Revision 152:
- added a MissionScript:is_debug() that returns false
- fixed another crash in _get_priority_attention()
- removed FSS's outdated version of GroupAIStateBesiege:_find_spawn_group_near_area()

Revision 151:
- added thai translation by NewPJzuza
- fixed a crash in _get_priority_attention()

Revision 150:
- updated to U174

Revision 149:
- moved a misplaced line related in Stoic fix
- added a sanity check on SniperGrazeDamage:on_weapon_fired()

Revision 148:
- finally sorted out my mess with Stoic (was broken again for clients)

Revision 147:
- cleaned up a remnant event listener related to Stoic perk (now this perk works 100% fine after custody)

Revision 146:
- added a gameplay changing option "Improved chase", see https://youtu.be/W902qhfmnTs
- updated for compatibility with D&S beta

Revision 145:
- 2 tiny fixes

Revision 144:
- fixed player's related stuff wrongly reset since r137
- delayed some data initialization to improve custom cop support

Revision 143:
- friendly AI won't shoot enemies shouted at/tazed only if target can surrender

Revision 142:
- fixed animation wrongly reset to idle for cop hostage leaving suppressed state

Revision 141:
- fixed a crash brought by r140

Revision 140:
- fixed cops panic animations, see https://youtu.be/9Y-eImPxQvw

Revision 139:
- reworked bag updating

Revision 138:
- fixed another base game crash

Revision 137:
- fixed Stoic perk malfunctioning after going back from custody

Revision 136:
- added checks in PortalUnitGroup:_change_visibility() as some reported to get weird crashes with it

Revision 135:
- updated to U168
- changed task limiter from hard limit per frame to a throughput per second, so settings can be compared between players

Revision 134:
- reinstated GroupAIStateBesiege:_find_spawn_group_near_area()

Revision 133:
- rollbacked modification of GroupAIStateBesiege:_find_spawn_group_near_area()

Revision 132:
- fixed crash in _find_spawn_group_near_area()

Revision 131:
- optimized GroupAIStateBesiege:_find_spawn_group_near_area()
- added more sanity checks

Revision 130:
- added sanity checks to prevent any mod from adding erroneous delayed calls

Revision 129:
- fixed a tracker issue related to element areas located in disabled navigation segments

Revision 128:
- improved significantly detection in stealth
- removed a fix of r119 that is now shipped in U166

Revision 127:
- fixed an issue with achievement related to "on_death" events not granted

Revision 126:
- fixed revive objective that could be overwritten by one for another player
- fixed keybinds that could be called while in pause menu

Revision 125:
- fixed mouse wheel keybinds

Revision 124:
- fixed TeamAI not seeing SWAT turrets

Revision 123:
- updated to U162

Revision 122:
- compatibility with Monkeepers

Revision 121:
- removed Announcer
- coated CriminalsManager:set_unit() with a sanity check

Revision 120:
- use attention cache more aggressively (significant Lua performance improvement for maps with a lot of cameras, like GGC/OD and its 50 cams)
- coated HUDManager:add_mugshot_by_unit() with a sanity check

Revision 119:
- fixed a case of potential double unload of a bot's weapon leading to a crash
- added a few sanity checks here and there

Revision 118:
- fixed bot weapon visibility for host when loadout is reassigned

Revision 117:
- optimized TimerGui:update()
- optimized 3 BaseNetworkSession functions

Revision 116:
- added a "slower_but_safer" option, currently only alive() function is concerned
(settable only via mods/saves/full_speed_swarm.txt)

Revision 115:
- fixed multiple vanilla crashes related to bots' weapons
- fixed bots' weapons visibility when playing as a client

Revision 114:
- compatibility fix with "Sentry Health Display" mod

Revision 113:
- fixed max health incorrectly updated

Revision 112:
- optimized keybinds handling

Revision 111:
- improved performances of fast-paced game option
- fixed player's health initialization

Revision 110:
- optimized several portal functions

Revision 109:
- fixed armor stuff of r107 when something like perk or armor is changed

Revision 108:
- fixed "fs_current_max_health" crash

Revision 107:
- a few performance tweaks adapted to LuaJIT's specificities
- a bunch of tiny optimizations
- optimized some armor functions
- fixed "nearly visible" check

Revision 106:
- fixed a vanilla crash related to Winters

Revision 105:
- fixed mod.txt dependencies section

Revision 104:
- even more absolutely essential BLT2 integration

Revision 103:
- more absolutely essential BLT2 integration

Revision 102:
- BLT2
- mostly updated to U153
- optimized WeaponFactoryManager:get_factory_id_by_weapon_id()

Revision 101:
- compatibility stuff with Keepers

Revision 100:
- added "nervous game" option (gameplay changing)

Revision 99:
- added basic "friendly AI don't shoot cops I want to convert" support for players not using Better Bots

Revision 98:
- removed r84's temporary fix for stiff shields (fix was integrated in U150)

Revision 97:
- improved compatibility with mods that add new types of character

Revision 96:
- updated list of cop IDs with tank_medic and tank_mini
- imported Adaptive Resync's "fix for sync of auto-fire bugged when a player goes into fatal state while shooting"
- imported Aim, Ivan! Aim!'s fixed delay for sniper's laser activation (client-side)

Revision 95:
- r94 should have declared 2 things... r95 brings the second

Revision 94:
- fixed a missed declaration in securitycamera.lua

Revision 93:
- added a check to prevent a crash when clicking to download a library mod (before the main menu appears)
- removed r71's temporary fix for SWAT van turret
- updated to U150... maybe

Revision 92:
- fixed angle calculation for security camera detection

Revision 91:
- optimized security camera performances

Revision 90:
- updated a missed modification from U133
- improved caching of reactions (significant performances difference in stealth)

Revision 89:
- optimized vector stuff related to cop movement
- optimized reset of the visibility of player's weapon

Revision 88:
- fix of r87 was flawed, it's properly fixed now

Revision 87:
- fixed interaction selector not coming back on focused item (mostly seen when trying a vault key)

Revision 86:
- fixed an oversight related to walking quality setting "very high"

Revision 85:
- rewrote "character positioning"
- optimized stuff in CopActionWalk
- added option to set the "Walking quality" (to go beyond vanilla quality)

Revision 84:
- temporarily added fix for stiff shields, see https://youtu.be/HYhb0xHpYjM
(waiting for integration of http://steamcommunity.com/app/218620/discussions/14/1334600128975457669/ )

Revision 83:
- added a cache to WeaponFactoryManager:get_perk_stats()
- reworked BlackMarketManager:equipped_armor()
- don't uselessly load CPU with crime spree modifiers when crime spree is not active
- added an option to select a LOD updater

Revision 82:
- updated to U144 beta

Revision 81:
- beta bots' bonuses are properly taken into account
- mutator Big Party doesn't crash FSS clients anymore
- added a sanity which might prevent a rare crash (client only) related to sniper LOD
- fixed a rare crash in elementareatrigger (equipment)
- fixed JSON errors

Revision 80:
- fixed tasers not doing their job (broken by r79)

Revision 79:
- set a better frequency for updates of "important" cops in travel logic, reducing the overall tasks throughput by a third with no visible change
- integrally rewritten the "fast-paced game" option so it consumes drastically less resources (on the roof of Brooklyn 10-10, before: 25 fps, after: 70 fps)
- reworked some optimizations in AIAttentionObject
- optimized code handling "forced attention"
- optimized PlayerDamage:_update_armor_hud()

Revision 78:
- fixed a crash in upd_ground_ray_1() and upd_ground_ray_2()

Revision 77:
- optimized ControllerWrapper:get_modified_axis()
- [option "optimized inputs"] added an option to disable optimized inputs

Revision 76:
- properly implemented optimization of input

Revision 75:
- (quickly) fixed inputs for driving (broken by r74)

Revision 74:
- optimized PlayerStandard:_get_input()

Revision 73:
- optimized the code handling the health regeneration

Revision 72:
- added a sanity check to the SWAT van turret fix to prevent a crash

Revision 71:
- fixed a bug in the movement updating code that prevented Charon from taking cover
- temporarily added fix for SWAT van turret
(waiting for integration of http://steamcommunity.com/app/218620/discussions/14/135507403158454829/ )

Revision 70:
- don't do update() for parked cars that don't move
- added some little optimizations specific to Alesso

Revision 69:
- cleaned up optimization of carry updates

Revision 68:
- reworked and optimized carry updates so TeamAIs can carry bags
- optimized more things in CopLogicIdle._get_priority_attention()
- CopLogicBase._upd_attention_obj_detection() now uses AIAttentionObject:get_attention_fast()

Revision 67:
- fixed another crash when starting Boiling Point...

Revision 66:
- replaced "harsh assaults" by "assault behavior", introducing a new mode mixing cautious and aggressive

Revision 65:
- fixed a crash when starting Boiling Point

Revision 64:
- added an option "harsh assaults" (disabled by default)

Revision 63:
- a better implementation of the fix of r62

Revision 62:
- fixed a vanilla bug (if it's a feature, it's a silly one) by changing the group objective destination to prevent cops from assaulting their own spawn location

Revision 61:
- optimized a few is_inside() methods
- optimized stuff in ElementAreaReportTrigger
- fixed a case where the label name was misaligned

Revision 60:
- fixed some on_exit triggers that could be executed at wrong times

Revision 59:
- fixed a bug that forced clients to reenter the exit area when the host was not the first to enter in it

Revision 58:
- fixed some area triggers that were incorrectly restricted to a navigation segment

Revision 57:
- updated to U127.1

Revision 56:
- prevent some Lua overrides from being applied more than once

Revision 55:
- optimized MessageSystem:_notify()
- fixed cache of WeaponFactoryManager:has_perk()

Revision 54:
- replaced old GoonMod mutators by mutator "Big Party" (configurable)
- removed CopBrain:clbk_damage() since it's fixed in U123
- removed a forgotten debug line

Revision 53:
- added a check to CopBrain:clbk_damage()
- slightly optimized alive() and bezier()

Revision 52:
- changed the events triggering activation of some optimizations

Revision 51:
- fixed a potential crash in TextGui:update()
- fixed optimizations not activated for clients who joined a game already gone loud

Revision 50:
- updated to U121

Revision 49:
- enhanced compatibility with other mods (CopActionWalk)

Revision 48:
- fixed a crash related to the LOD updater

Revision 47:
- fixed interaction evaluation delay that wrongly accounted swan song speed modifier
- optimized PlayerManager:get_hostage_bonus_multiplier()
- optimized PlayerManager:body_armor_value()
- optimized PlayerManager:upgrade_value()

Revision 46:
- fixed a bug where an invalid interaction could block all the interactions
- fixed a crash when restarting while an interaction is in progress (like answering a pager)

Revision 45:
- fixed a crash when changing the max AI tasks per frame from the main menu

Revision 44:
- reverted some changes in EnemyManager:_update_queued_tasks()
- fixed a case where the LOD updater could mark as visible an occluded unit
- fixed a crash in ObjectInteractionManager:_update_targeted()

Revision 43:
- don't use tracker.check_visibility() anymore
- fixed a bug in GroupAIStateBase:set_importance_weight()

Revision 42:
- optimized HUDManager:_update_name_labels()
- optimized ObjectInteractionManager:_update_targeted()

Revision 41:
- optimized LuaModManager:UpdateBindings()
- updated attention list (medic type)

Revision 40:
- fixed a crash related to interacting with a non referenced hostage

Revision 39:
- reintroduced a removed check in get_attention() to prevent a crash possibility

Revision 38:
- refined caching of reactions and AIAttentionObject
- slight optimization to GroupAIStateBase:get_AI_attention_objects_by_filter()
- optimized CopMovement:chk_action_forbidden()

Revision 37:
- reworked _get_current_max_walk_speed() so it can work on clients without interfering with desync resolvers
- made sure that _get_current_max_walk_speed() supports (and still optimizes) the sync of hostage speed introduced by Moveable Intimidated Cop (in vanilla, it affects only civs and only the host can see it in action)

Revision 36:
- reaction cache is reset when new settings are added
- announcement of fast-paced game is updated whenever it's changed
- a lot of minor changes/optimizations in code handling targets
- DorentuZ fixed a bug in LOD updater related to order priority of demoted units

Revision 35:
- fixed area triggering for clients

Revision 34:
- really fixed the weapon factory stats cache :s

Revision 33:
- fixed the weapon factory stats cache

Revision 32:
- fixed navseg evaluation for cylinders

Revision 31:
- fixed the risk of infinite loop when no tasks limit per frame is set
- added a cache to WeaponFactoryManager:get_stats()
- added a cache to WeaponFactoryManager:has_perk()
- optimized ElementAreaTrigger:_should_trigger(), step 2: enemy lists per navigation segments
- DorentuZ fixed 2 bugs in GroupAIStateBase:set_importance_weight()

Revision 30:
- fixed a crash due to a table initialized with a wrong name in EnemyManager:set_gfx_lod_enabled()

Revision 29:
- fixed a crash when encountering a cloaker as a client

Revision 28:
- added binary search to CallbackHandler:__insert_sorted()
- fixed LOD updater (was totally inoperative because of one bad anti-loop check)

Revision 27:
- updated to U108

Revision 26:
- fixed a mod compatibility issue related to CopBrain.clbk_death

Revision 25:
- fixed characters sometimes staying invisible when the number of chars was very low

Revision 24:
- fixed an occlusion exception in the LOD updater

Revision 23:
- optimized the LOD updater and made it adaptive to the workload (see "Additional features" of readme.txt)
- optimized CopLogicTravel._try_anounce()
- fixed AIAttentionObject that was caching too much
- clean-up of FSS's Delayed Calls' id
- switched announcement code to library Announcer

Revision 22:
- added an option "fast-paced game" (basically removes several delays, no other difficulty changing options are planned) ; when enabled, this option will be announced to the other players when they join
- fine-tuned Shape:is_inside()
- included a folder with 3 adaptations of GoonMod's Excessive Force (reserve the #3 for testing... it's unplayable)
- finally, a readme.txt appears

Revision 21:
- fixed issues with some AI still shooting at dead targets
- optimized ElementAreaTrigger:project_instigators()

Revision 20:
- optimized ElementAreaTrigger:_should_trigger()

Revision 19:
- reinstated area trigger checking optimization (this time, not mixing up origin with center coordinates)
- optimized CallbackHandler:__insert_sorted() with an incredibly sophisticated (meaning stupid) trick
- fixed a graphical bug in TextGui:update()
- to be sure nothing gets lost, the replacement of Delayed Calls now import the original calls table

Revision 18:
- fixed a crash in ElementAreaTrigger:_should_trigger()
- removed (my) insanely broken area trigger checking stuff

Revision 17:
- optimized area trigger checking by adding a fast boundary check on top (maps such as Golden Grin run better)
- replaced the Delayed Calls of BLT by a system based on core lib (faster and with a functional Remove())

Revision 16:
- some code clean-up
- optimized TextGui:update() even more (it's now almost 8 times faster than original code)
- don't give that much priority to "asap" tasks (like ignoring their planned time...)
- TeamAIs now benefit of cached reactions
- added the file "additional optimizations.txt"

Revision 15:
- optimized TextGui:update()

Revision 14:
- optimized CarryData:update()

Revision 13:
- fixed a crash with cloaker using the new _get_current_max_walk_speed()

Revision 12:
- optimized function _get_current_max_walk_speed()
- optimized function CopLogicBase._get_logic_state_from_reaction()
- simplified data structure of AIAttentionObject (tiny benefit of 0.15% but still a benefit)
- added a special case of vertical positioning for TeamAIs for users of Keepers and GoonMod
- removed from CopLogicBase._set_attention_obj() the redundant checking of stare_expire_t and pause_expire_t (which looked loopy and buggy)

Revision 11:
- don't evaluate again the type of reaction if it can't change (consume much less CPU resources)

Revision 10:
- fixed a crash related to the timer of open engagements not being always properly set

Revision 9:
- optimized how importance weight of cops is set
- added an option menu to select the quality of character positioning (cpu weight are 1.1 for "fast", 1.6 for "balanced" and 4.5 for "quality")
- some minor refinements

Revision 8:
- a bit off the topic of this mod but for those who use Better Bots, code has been added to make use of BB's cops_to_intimidate table to prevent jokers from shooting the cops that players are trying to intimidate

Revision 7:
- optimized propagation of target identification

Revision 6:
- fixed the alarm that couldn't be set off by cops who detected a player

Revision 5:
- optimized the check on cops in arrest mode
- optimized attention settings access
- moved the costly check "am I aimed at" so it doesn't get constantly called

Revision 4:
- handles more carefully checks involving the joker attribute

Revision 3:
- fixed default settings (caused a crash if not initialized via the option menu)

Revision 2:
- removed more useless target evaluations
- reduced the pressure of the detection tasks
- added a menu to redefine the max tasks per frame
